﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.ServiceModel;
using TestSOAPRipleyService;

namespace TestSOAPRipleyService
{
    [TestClass]
    public class TestCliente
    {
        [TestMethod]
        public void TestValidaCliente()
        {
            wsRipleyService.RipleyServiceClient proxy = new wsRipleyService.RipleyServiceClient();

            try
            {
                bool swExiste = proxy.ValidaCliente(45421452);
                Assert.AreEqual(true, swExiste);
            }
            catch (FaultException<wsRipleyService.ValidationException> ex)
            {
                Assert.AreEqual("[RIESGOS RIPLEY] El cliente no ha sido evaluado por el area de Riesgos, Verifique con el Gerente de Tienda.", ex.Detail.ValidationError);
                Assert.AreEqual("[RIESGOS RIPLEY] El cliente ya ha sido evaluado.", ex.Detail.ValidationError);
            }
        }

        [TestMethod]
        public void TestObtenerCliente()
        {
            wsRipleyService.RipleyServiceClient proxy = new wsRipleyService.RipleyServiceClient();

            try
            {
                wsRipleyService.Cliente Cliente = proxy.ObtenerCliente(45421452);
                Assert.AreEqual("45421452", Cliente.dni.ToString());
                Assert.AreEqual("Roger", Cliente.nombres);
                Assert.AreEqual("Palacios", Cliente.apellidoPaterno);
                Assert.AreEqual("Santos", Cliente.apellidoMaterno);
            }
            catch (FaultException<wsRipleyService.ValidationException> ex)
            {
                Assert.AreEqual("[RIESGOS RIPLEY] El cliente no ha sido evaluado por el area de Riesgos, Verifique con el Gerente de Tienda.", ex.Detail.ValidationError);
            }
        }
    }
}
